/**
 *Copyright (c) 2024 watereyes
 * safetymanagement is licensed under Mulan PubL v2.
 * You can use this software according to the terms and conditions of the Mulan
 * PubL v2.
 * You may obtain a copy of Mulan PubL v2 at:
 *          http://license.coscl.org.cn/MulanPubL-2.0
 * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
 * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
 * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
 * See the Mulan PubL v2 for more details.
 */
package com.koron.hiddendanger.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.koron.common.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

@ApiModel(value = "检查记录对象", description = "检查记录实体类")
public class CheckRecord extends BaseEntity {
    @ApiModelProperty(value = "安全检查编码", name = "code", required = true)
    private String code;

    @ApiModelProperty(value = "检查范围——水司Code", name = "corpCode", required = true)
    private String corpCode;

    @ApiModelProperty(value = "检查范围——水司名称", name = "corpName")
    private String corpName;

    @ApiModelProperty(value = "检查范围——所在子节点Code", name = "girdCode")
    private String gridCode;

    @ApiModelProperty(value = "检查范围——所在子节点名称，包含所有父级节点的名称", name = "gridName")
    private String gridName;

    @ApiModelProperty(value = "检查计划id", name = "planId")
    private String planId;

    @ApiModelProperty(value = "检查计划名称", name = "planName")
    private String planName;

    @ApiModelProperty(value = "安全检查名称", name = "name", required = true)
    private String name;

    @ApiModelProperty(value = "工作描述", name = "description")
    private String description;

    @ApiModelProperty(value = "检查执行时间", name = "checkTime")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date checkTime;
    private String checkTimeStr;
    @ApiModelProperty(value = "提交安全检查时间", name = "submitTime")
    private Date submitTime;

    @ApiModelProperty(value = "提交安全检查时间，用于导出", name = "submitTimeStr")
    private String submitTimeStr;

    @ApiModelProperty(value = "提交人code", name = "submitTime", required = true)
    private String submitCode;

    @ApiModelProperty(value = "附件,存储文件列表,新增、删除时再整体覆盖", name = "checkFile")
    private String attachment;

    @ApiModelProperty(value = "内部检查人员code，存储格式为：[staffCode_userid,staffCode_userid]", name = "innerWorkers")
    private String innerWorkers;

    @ApiModelProperty(value = "内部检查人员Name，存储格式为:[staffName_depName]", name = "innerWorkersName")
    private String innerWorkersName;

    @ApiModelProperty(value = "外部检查人员，存储格式为[staffName_depName]", name = "outterWorkers")
    private String outterWorkers;

    @ApiModelProperty(value = "验证人code和userid(登录用户名)，用_分开", name = "identifier")
    private String identifier;

    @ApiModelProperty(value = "验证人名称和所在单位名称用_分开", name = "identifierName")
    private String identifierName;

    @ApiModelProperty(value = "负责人code和userid(登录用户名)，用_分开", name = "manager", required = true)
    private String manager;

    @ApiModelProperty(value = "检查负责人名称和所在单位名称用_分开", name = "managerName")
    private String managerName;

    @ApiModelProperty(value = "受检单位负责人", name = "inspectedUnitLeadSign", required = true)
    private String inspectedUnitLead;

    @ApiModelProperty(value = "受检单位负责人名称", name = "inspectedUnitLeadSign", required = true)
    private String inspectedUnitLeadName;

    @ApiModelProperty(value = "状态,0:未提交,1:已提交,2审批通过", name = "submit", required = true)
    private Integer submit;

    @ApiModelProperty(value = "检查层级", name = "checkLevel", required = true)
    private String checkLevel;

    @ApiModelProperty(value = "检查层级名称", name = "checkLevelName", required = true)
    private String checkLevelName;

    @ApiModelProperty(value = "检查主题", name = "checkTheme", required = true)
    private String checkTheme;

    @ApiModelProperty(value = "检查人员签名", name = "inspectedUnitLeadSign", required = true)
    private String inspectorsSign;

    @ApiModelProperty(value = "受检单位负责人签名", name = "inspectedUnitLeadSign", required = true)
    private String inspectedUnitLeadSign;

    @ApiModelProperty(value = "检查定位地点", name = "checkLocation", required = true)
    private String checkLocation;

    @ApiModelProperty(value = "整改时限", name = "rectificationPeriod")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date rectificationPeriod;

    @ApiModelProperty(name = "workflowEditState", value = "流程中编辑状态: 0不可编辑 1可编辑")
    private Integer workflowEditState = 0;

    @ApiModelProperty(name = "deleteState", value = "可删除状态: 0不可删除 1可删除")
    private Integer deleteState = 0;

    @ApiModelProperty(name = "nextParticipantCode", value = "流程下个审批人")
    private String nextParticipantCode;

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getCorpCode() {
        return corpCode;
    }

    public void setCorpCode(String corpCode) {
        this.corpCode = corpCode;
    }

    public String getCorpName() {
        return corpName;
    }

    public void setCorpName(String corpName) {
        this.corpName = corpName;
    }

    public String getGridCode() {
        return gridCode;
    }

    public void setGridCode(String gridCode) {
        this.gridCode = gridCode;
    }

    public String getGridName() {
        return gridName;
    }

    public void setGridName(String gridName) {
        this.gridName = gridName;
    }

    public String getPlanId() {
        return planId;
    }

    public void setPlanId(String planId) {
        this.planId = planId;
    }

    public String getPlanName() {
        return planName;
    }

    public void setPlanName(String planName) {
        this.planName = planName;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public Date getCheckTime() {
        return checkTime;
    }

    public void setCheckTime(Date checkTime) {
        this.checkTime = checkTime;
    }

    public Date getSubmitTime() {
        return submitTime;
    }

    public void setSubmitTime(Date submitTime) {
        this.submitTime = submitTime;
    }

    public String getSubmitCode() {
        return submitCode;
    }

    public void setSubmitCode(String submitCode) {
        this.submitCode = submitCode;
    }

    public String getAttachment() {
        return attachment;
    }

    public void setAttachment(String attachment) {
        this.attachment = attachment;
    }

    public String getInnerWorkers() {
        return innerWorkers;
    }

    public void setInnerWorkers(String innerWorkers) {
        this.innerWorkers = innerWorkers;
    }

    public String getInnerWorkersName() {
        return innerWorkersName;
    }

    public void setInnerWorkersName(String innerWorkersName) {
        this.innerWorkersName = innerWorkersName;
    }

    public String getOutterWorkers() {
        return outterWorkers;
    }

    public void setOutterWorkers(String outterWorkers) {
        this.outterWorkers = outterWorkers;
    }

    public String getIdentifier() {
        return identifier;
    }

    public void setIdentifier(String identifier) {
        this.identifier = identifier;
    }

    public String getIdentifierName() {
        return identifierName;
    }

    public void setIdentifierName(String identifierName) {
        this.identifierName = identifierName;
    }

    public String getManager() {
        return manager;
    }

    public void setManager(String manager) {
        this.manager = manager;
    }

    public String getManagerName() {
        return managerName;
    }

    public void setManagerName(String managerName) {
        this.managerName = managerName;
    }

    public Integer getSubmit() {
        return submit;
    }

    public void setSubmit(Integer submit) {
        this.submit = submit;
    }

    public String getCheckLevel() {
        return checkLevel;
    }

    public void setCheckLevel(String checkLevel) {
        this.checkLevel = checkLevel;
    }

    public String getCheckLevelName() {
        return checkLevelName;
    }

    public void setCheckLevelName(String checkLevelName) {
        this.checkLevelName = checkLevelName;
    }

    public String getCheckTheme() {
        return checkTheme;
    }

    public void setCheckTheme(String checkTheme) {
        this.checkTheme = checkTheme;
    }

    public String getInspectedUnitLeadSign() {
        return inspectedUnitLeadSign;
    }

    public void setInspectedUnitLeadSign(String inspectedUnitLeadSign) {
        this.inspectedUnitLeadSign = inspectedUnitLeadSign;
    }

    public String getInspectorsSign() {
        return inspectorsSign;
    }

    public void setInspectorsSign(String inspectorsSign) {
        this.inspectorsSign = inspectorsSign;
    }

    public String getCheckLocation() {
        return checkLocation;
    }

    public void setCheckLocation(String checkLocation) {
        this.checkLocation = checkLocation;
    }

    public Date getRectificationPeriod() {
        return rectificationPeriod;
    }

    public void setRectificationPeriod(Date rectificationPeriod) {
        this.rectificationPeriod = rectificationPeriod;
    }

    public String getInspectedUnitLead() {
        return inspectedUnitLead;
    }

    public void setInspectedUnitLead(String inspectedUnitLead) {
        this.inspectedUnitLead = inspectedUnitLead;
    }

    public String getInspectedUnitLeadName() {
        return inspectedUnitLeadName;
    }

    public void setInspectedUnitLeadName(String inspectedUnitLeadName) {
        this.inspectedUnitLeadName = inspectedUnitLeadName;
    }

    public Integer getWorkflowEditState() {
        return workflowEditState;
    }

    public void setWorkflowEditState(Integer workflowEditState) {
        this.workflowEditState = workflowEditState;
    }

    public String getCheckTimeStr() {
        return checkTimeStr;
    }

    public void setCheckTimeStr(String checkTimeStr) {
        this.checkTimeStr = checkTimeStr;
    }

    public String getSubmitTimeStr() {
        return submitTimeStr;
    }

    public void setSubmitTimeStr(String submitTimeStr) {
        this.submitTimeStr = submitTimeStr;
    }

    public String getNextParticipantCode() {
        return nextParticipantCode;
    }

    public void setNextParticipantCode(String nextParticipantCode) {
        this.nextParticipantCode = nextParticipantCode;
    }

    public Integer getDeleteState() {
        return deleteState;
    }

    public void setDeleteState(Integer deleteState) {
        this.deleteState = deleteState;
    }

    @Override
    public String toString() {
        return "CheckRecord{" +
                "code='" + code + '\'' +
                ", corpCode='" + corpCode + '\'' +
                ", corpName='" + corpName + '\'' +
                ", gridCode='" + gridCode + '\'' +
                ", gridName='" + gridName + '\'' +
                ", planId='" + planId + '\'' +
                ", planName='" + planName + '\'' +
                ", name='" + name + '\'' +
                ", description='" + description + '\'' +
                ", checkTime=" + checkTime +
                ", submitTime=" + submitTime +
                ", submitCode='" + submitCode + '\'' +
                ", attachment='" + attachment + '\'' +
                ", innerWorkers='" + innerWorkers + '\'' +
                ", innerWorkersName='" + innerWorkersName + '\'' +
                ", outterWorkers='" + outterWorkers + '\'' +
                ", identifier='" + identifier + '\'' +
                ", identifierName='" + identifierName + '\'' +
                ", manager='" + manager + '\'' +
                ", managerName='" + managerName + '\'' +
                ", inspectedUnitLead='" + inspectedUnitLead + '\'' +
                ", inspectedUnitLeadName='" + inspectedUnitLeadName + '\'' +
                ", submit=" + submit +
                ", checkLevel='" + checkLevel + '\'' +
                ", checkLevelName='" + checkLevelName + '\'' +
                ", checkTheme='" + checkTheme + '\'' +
                ", inspectorsSign='" + inspectorsSign + '\'' +
                ", inspectedUnitLeadSign='" + inspectedUnitLeadSign + '\'' +
                ", checkLocation='" + checkLocation + '\'' +
                ", rectificationPeriod='" + rectificationPeriod + '\'' +
                '}';
    }
}
